package com.jdd.modules.parkcar.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jdd.common.util.excel.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * @Description: 车位管理
 * @Author: jdd
 * @Date:   2021-05-31
 * @Version: V1.0
 */
@Data
@TableName("park_car_space")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="park_car_space对象", description="车位管理")
public class ParkSpace {

	/**主键*/
	@TableId(type = IdType.UUID)
    @ApiModelProperty(value = "主键")
	private String id;
	/**车场编号*/
	@Excel(name = "车场编号", width = 15)
    @ApiModelProperty(value = "车场编号")
	private String parkCode;
	/**车场名称*/
	@Excel(name = "车场名称", width = 15)
    @ApiModelProperty(value = "车场名称")
	private String parkName;
	/**区域Id*/
	@ApiModelProperty
	private String areaId;
	/**区域名称*/
	@Excel(name = "区域名称",width = 15)
	@ApiModelProperty
	private String areaName;

	/**车位类型*/
	@Excel(name = "车位类型",width = 15)
	@ApiModelProperty
	private String spaceType;

//	@Excel(name = "绑定月租信息",width = 25)
//	@ApiModelProperty
//	private String BindInfo;

	/**停车状态 （0：无车辆停靠，1：有车辆停靠）*/
	@Excel(name = "停车状态", width = 15)
	@ApiModelProperty
	private String parkStatus;
	/**车位编号*/
	@Excel(name = "车位编号", width = 15)
    @ApiModelProperty(value = "车位编号")
	private String parkNumber;
	/**有效期开始时间*/
	@Excel(name = "有效期开始时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "有效期开始时间")
	@TableField(updateStrategy = FieldStrategy.IGNORED)
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	private Date startTime;
	/**有效期结束时间*/
	@Excel(name = "有效期结束时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "有效期结束时间")
	@TableField(updateStrategy = FieldStrategy.IGNORED)
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	private Date endTime;
	/**租金*/
	@Excel(name = "租金", width = 15)
    @ApiModelProperty(value = "租金")
	private Integer payFee;
	/**启用状态（N：不启用，Y：启用）*/
	@Excel(name = "启用状态（N：不启用，Y：启用）", width = 15)
    @ApiModelProperty(value = "启用状态（N：不启用，Y：启用）")
	private String status;
	/**租户姓名*/
	@Excel(name = "租户姓名", width = 15)
    @ApiModelProperty(value = "租户姓名")
	private String userName;
	/**租户手机号码*/
	@Excel(name = "租户手机号码", width = 15)
    @ApiModelProperty(value = "租户手机号码")
	private String mobile;
	/**租户家庭住址*/
	@Excel(name = "租户家庭住址", width = 15)
    @ApiModelProperty(value = "租户家庭住址")
	private String address;
	/**备注*/
	@Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
	private String parkSpaceRemark;
	/**创建时间*/
	@Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	private Date createTime;
	/**更新时间*/
	@Excel(name = "更新时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新时间")
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	private Date updateTime;
	/**创建人*/
	@Excel(name = "创建人", width = 15)
    @ApiModelProperty(value = "创建人")
	private String createUser;

	@ApiModelProperty(value = "月租ID")
	private String monthlyCardId;
	/**绑定月租编号*/
	@Excel(name = "月租编号", width = 15)
	@ApiModelProperty(value = "绑定月租编号")
	private String monthlyCode;

	@Excel(name = "当前停放车辆", width = 13)
	@ApiModelProperty(value = "占用车牌")
	private String plateNo;
    /**绑定月租编号*/
    @Excel(name = "区号", width = 12)
    @ApiModelProperty(value = "区号")
    private String areaCode;


    @TableField(exist = false)
	private Integer startNumber;

	@TableField(exist = false)
	private Integer placeNos;

	@TableField(exist = false)
	private String permissionId;

	@TableField(exist = false)
	private Integer parkStas;

}
